1. Field of the Invention
This disclosure relates to rendering contours in images of different resolutions, for example, as may be useful in modeling photolithography mask-making, development and etching processes during the design flow of an integrated circuit.
2. Description of the Related Art
The use of image-processing techniques for simulation has grown in importance with increases in available memory and single instruction multiple data (SIMD) computing architectures. One operation in this field is to use images representing one or more earlier stages of the simulation as an input into a process, which then produces as its output new images that represent subsequent stages of the simulation. A common function of simulation methods is the construction of a “membership contour line” which delineates the part of the image that is “in the membership set” from the part of the image that is “out of the membership set.” Note that the term “image” generally refers to two-dimensional functions and is not limited to pictures or other graphical images.
For example, the exposure dosage of e-beam photoresist used to create a mask may be represented by a function E(x,y). The membership contour line may define the areas where E(x,y)>E0, where E0 is a threshold value used to model the exposure process. Points inside the membership contour line may then represent areas where the mask substrate is exposed or where the mask substrate is not exposed (depending on whether the photoresist is positive or negative). This can be used to simulate the mask making process. Given a mask, a similar approach can also be used to simulate the exposure dosage of photoresist on a substrate that is exposed using the mask.
Regardless of the application, contour lines can be used in subsequent stages of simulation. For example, it may be desirable to produce contour lines from one simulation stage with a certain spatial resolution (e.g., simulation of the mask making stage), and then subsequently use these contour lines as inputs into another simulation stage of a different spatial resolution (e.g., simulation of the substrate patterning stage). However, contour lines typically have an infinite bandwidth and it is therefore not possible to reconstruct them with 100% accuracy from a pixelized image. In addition, the contouring step is typically non-linear, so that the problem cannot be solved by straightforwardly applying a linear filter to the original bandlimited image.
One approach to resolving this problem is to produce a vector-based graphical representation of the contour line as an intermediate result, and then feed the vector graphics into a rasterizer to condition them to the bandwidth appropriate for the subsequent stage. However, construction of the vector-based contour line from the image (for example, by using a threshold criterion) can be slow and memory intensive. It can also introduce artifacts when attempting to approximate the path of curves. Examples of artifacts include splitting geometries, merging geometries and the development of holes. In addition, the resulting vector function is then rasterized back into an image in order to feed it into the subsequent bandlimited simulation stage. Accurately rasterizing these complex vector graphics can also take a great deal of time.